package com.hst.capacity.domain.model.response.express;

import lombok.AllArgsConstructor;
import lombok.Data;
import org.apache.ibatis.type.Alias;

import java.time.LocalDateTime;
import java.util.List;

@Data
@Alias("exDetailVO")
@AllArgsConstructor
public class ExDetailVO {
    private Base base;
    private List<StatusHistory> history;
    private OrderTrace trace;
    @Data
    public static class Base{
        //订单ID
        private String idOrder;
        private String externalOrderId;//订单来源
        private String idFranchisee;//订单所属服务商ID 外键服务商信息表
        private String idBrandHolder;
        //用车时间
        private String appointmentTime;
        //用车截止时间
        private String cutOffTime;
        //订单状态
        private Integer orderStatus;
        //服务类型 拼车包车
        private Integer carpoolType;
        //订单来源
        private Integer orderSource;
        //下单用户姓名,数据来自会员信息表
        private String userName;
        //下单用户手机号,数据来自会员信息表
        private String userMobile;
        //乘客姓名
        private String passengerName;
        //乘客电话
        private String passengerMobile;
        //乘车人数
        private Integer passengerNumber;
        //支付状态
        private Integer payStatus;
        //虚拟接单 0 否/1 虚拟接单
        private int virtualOrderAccepted;
        //计价模式
//        private Integer
        //司机姓名
        private String driverName;
        //司机联系电话
        private String driverMobile;
        //司机信息
        private String driverInfo;
        //出发地
        private String startAddress;
        //出发地经度
        private String startAddressLongitude;
        //出发地纬度
        private String startAddressLatitude;
        //目的地
        private String endAddress;
        //目的地经度
        private String endAddressLongitude;
        //目的地纬度
        private String endAddressLatitude;
        //下车点地址
        private String dropOffArea;
        //下车点经度
        private String dropOffAreaLongitude;
        //下车点纬度
        private String dropOffAreaLatitude;
        //预估价格
        private Float estimatedMoney;
        //预计花费时间
        private Integer estimatedTime;
        //实际价格
        private Float orderMoney;
        //预计行程距离
        private Float referenceDistance;
        //下单时间
        private String createTime;
    }
    @Data
    public static class StatusHistory{
        private Integer status;
        private String memo;
        private String title;
        private LocalDateTime createTime;
        private List<String> child;
    }
    @Data
    public static class OrderTrace{

    }

}
